package com.bjpowernode.mapper;

import com.bjpowernode.model.LoanInfo;
import com.bjpowernode.model.ext.BidLoanInfo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface LoanInfoMapper {

    /**
     * 历史年化收益率
     */

    BigDecimal selectHistoryAvgRate();

    /**
     * 分页查询产品
     */

    List<LoanInfo> selectPageByProductType(@Param("productType") Integer productType,
                                           @Param("offset") Integer offset,
                                           @Param("rows") Integer rows);

    /**
     * 计算总记录数（按产品类型）
     */
    int selectCountRecordNums(@Param("productType") Integer productType);

    /**
     * 根据主键查询单个loanInfo详细信息
     */
    LoanInfo selectLoanInfoByPrimaryKey(@Param("loanId") Integer loanId);


    /**
     * 投资时，更新产品的剩余可投资金额
     * @param loanId
     * @param money
     * @return
     */
    int updateLeftMoney(@Param("loanId") Integer loanId, @Param("money") BigDecimal money);

    LoanInfo selectByPrimaryKey(Integer loanId);


    int updateByPrimaryKeySelective(LoanInfo loaninfo);

    /**
     * 查询满标的产品
     */
    List<LoanInfo> selectSelledLoanInfo();

    /**
     * 更新产品的状态
     * @param status
     * @return
     */
    Integer updateStatus(@Param("loanId") Integer loanId, @Param("status") Integer status);
}